#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
高级分析系统主执行器 - 动态筛选TOP5股票
"""

import sys
import os
from datetime import datetime

sys.path.append(os.path.dirname(os.path.abspath(__file__)))

from advanced_analysis_system import AdvancedAnalysisSystem

def main():
    """主函数"""
    print("="*80)
    print("         A股中长期投资分析系统 - 高级动态筛选模式         ")
    print("="*80)
    print(f"🕐 开始时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
    print(f"🎯 目标: 智能筛选出10只最具潜力的投资标的（已升级）")
    print(f"📋 优化功能: ")
    print(f"   • 第6步分析TOP10股票（从5只升级）")
    print(f"   • 第7步预测，上涨概率≥70%的股票筛选") 
    print(f"   • 表格格式输出，包含所有分析股票")
    print(f"   • 分类显示：符合条件vs不符合条件")
    print(f"   • 详细投资建议和风险评估")
    print("="*80)
    
    try:
        # 创建高级分析系统
        advanced_system = AdvancedAnalysisSystem()
        
        # 执行分析
        final_stocks = advanced_system.run_advanced_analysis()
        
        print(f"\n{'='*80}")
        print(f"🎉 高级动态筛选完成！")
        if final_stocks:
            print(f"📊 成功筛选出 {len(final_stocks)} 只优质股票")
            print(f"🏆 所有股票上涨概率均 ≥ 70%")
            
            # 显示分析统计
            total_analyzed = len(advanced_system.all_analyzed_stocks)
            qualified_count = len([s for s in advanced_system.all_analyzed_stocks if s.get('qualified', False)])
            print(f"📈 分析统计: 共分析 {total_analyzed} 只股票，{qualified_count} 只符合条件")
            
            print(f"\n🎯 最终投资组合:")
            for i, stock in enumerate(final_stocks, 1):
                up_prob = stock.get('up_probability', 0)
                current_price = stock.get('current_price', 0)
                target_price = stock.get('target_price', 0)
                advice = stock.get('investment_advice', '观望')
                
                print(f"   {i}. {stock['code']} {stock.get('name', '')} - "
                      f"概率:{up_prob:.1f}% 价格:{current_price:.2f}→{target_price:.2f} {advice}")
        else:
            print(f"❌ 未能找到符合条件的股票")
            print(f"💡 建议:")
            print(f"   • 调整上涨概率要求(当前70%)")
            print(f"   • 扩大候选股票范围")
            print(f"   • 优化筛选条件")
            
            # 显示不符合条件的股票统计
            if hasattr(advanced_system, 'all_analyzed_stocks'):
                total_analyzed = len(advanced_system.all_analyzed_stocks)
                print(f"📊 本次共分析了 {total_analyzed} 只股票，但均未达到70%概率要求")
                
        print(f"\n📋 详细分析报告已生成: 投资分析报告.md")
        print(f"📊 包含所有分析股票的详细信息和表格展示")
            
        print(f"🕐 完成时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
        print(f"{'='*80}")
        
        return final_stocks
        
    except KeyboardInterrupt:
        print(f"\n⚠️ 用户中断执行")
        return []
    except Exception as e:
        print(f"\n❌ 系统执行失败: {e}")
        return []

if __name__ == "__main__":
    results = main()
